package com.dys.testdate02;

import java.util.Date;

/**
 * @className: com.dys.testdate02.DateTest
 * @description: com.dys.testdate02
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/07/24 下午8:04
 */
public class DateTest {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        new DateTest().testDate();
    }

    /**
     * 1.Date相关
     */
    public void testDate() {
        Date date = new Date();
        // 当前时间
        System.out.println(date.toString());
        // 过期方法、过时方法、废弃方法
        System.out.println(date.toLocaleString());
        System.out.println(date.toGMTString());

        // 这个日期代表的年份，减去1900年。
        System.out.println(date.getYear() + 1900);// 2024
        // 返回的值在0和11之间，其值为0代表一月。
        System.out.println(date.getMonth());

        // 返回自1970年1月1日以来，以此日期为准的00:00:00 GMT的毫秒数。
        System.out.println(date.getTime());
        /*
        （1）疑问：以后获取时间差用：getTime()还是currentTimeMillis()
        答案：currentTimeMillis()--》因为这个方法是静态的，可以类名.方法名直接调用
        （2）public static native long currentTimeMillis();
        本地方法
        为什么没有方法体？因为这个方法的具体实现不是通过java写的。
        （3）这个方法的作用：
        一般会去衡量一些算法所用的时间
         */
        System.out.println(System.currentTimeMillis());

        long startTime = System.currentTimeMillis();
        for (int i = 0; i < 1000000; i++) {
            System.out.println(i);
        }
        long endTime = System.currentTimeMillis();
        System.out.println(endTime - startTime);
    }
}
